#pragma once
#include "Pascal.h"

	struct TNativeFunctionArgumentType
	{
		Char TypeId;
		String SubTypeName;
	};
	typedef TNativeFunctionArgumentType* PNativeFunctionArgumentType;

	struct TNativeFunctionSignature
	{
		TNativeFunctionArgumentType* Arguments;
		TNativeFunctionArgumentType ReturnType;
	};
	typedef TNativeFunctionSignature* PNativeFunctionSignature;

Boolean ParseNativeFunctionSignature(
	String Signature,
	TNativeFunctionSignature &ParsedSignature,
	Boolean CheckFinished
);

Boolean NextChar(String Text, Integer &Position, Char &c);